Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.08.2014, 15:12
Аспирант
Отправить личное сообщение для Alexander333 Посмотреть профиль Найти все сообщения от Alexander333
 
Регистрация: 30.06.2012
Сообщений: 40

поочередная отправка
Здравствуйте, помогите правильно решить следующий вопрос.
На странице есть несколько форм, их может быть от 1 до 7, у каждой свой id. Для отправки использую следующий код
jQuery('#but1').click(function() {

                frm = jQuery('#form_1');

                var m_method=frm.attr('method');

                var m_action=frm.attr('action');

                var m_data=frm.serialize();

                    jQuery.ajax({
                            type: m_method,
                            url: m_action,
                            data: m_data,
                            success: function(result){
                                jQuery('#res1').html(result);
                            }
                            });
            
                    });

        });

а вот пример самых форм
<form action="redactor.php" method="post" id="form_1">
    <input type="text" id="text" name="text">
</form>
<div id="res1"></div>
 
<form action="redactor.php" method="post" id="form_2">
    <input type="text" id="text" name="text">
</form>
<div id="res2"></div>
<input type="button" id="but1" value="Сохранить изменения">

Нужно что бы было так, при нажатии на кнопку все формы по очереди отправлялись в обработчик, т.е когда приходит ответ обработчика, не важно успешно или нет, отправляется следующая форма и так пока все формы не обработаются. А результат каждой обработки выводился в соответствующий div.
Помогите кодом, если не сложно

Последний раз редактировалось Alexander333, 18.08.2014 в 15:28.
Ответить с цитированием
  #2 (permalink)  
Старый 18.08.2014, 15:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,279

Сообщение от Alexander333
когда приходит ответ обработчика, не важно успешно или нет, отправляется следующая форма и так пока все формы не обработаются
Оформи отправку именной функцией...
И в ответе делай следующий вызов отправки. Считай сколько уже отправил...
Ответить с цитированием
  #3 (permalink)  
Старый 18.08.2014, 17:38
Аспирант
Отправить личное сообщение для Alexander333 Посмотреть профиль Найти все сообщения от Alexander333
 
Регистрация: 30.06.2012
Сообщений: 40

ksa
спасибо за ответ. Мне бы кодом помочь, а то я не знаю как это все осуществить...
Ответить с цитированием
  #4 (permalink)  
Старый 18.08.2014, 18:36
Аватар для nice_try
Профессор
Отправить личное сообщение для nice_try Посмотреть профиль Найти все сообщения от nice_try
 
Регистрация: 11.12.2013
Сообщений: 313

можно юзать deferred
Ответить с цитированием
  #5 (permalink)  
Старый 18.08.2014, 22:32
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 457

Alexander333,
<form class="form">
	<input type="text" name="text">
</form>
<div class="res"></div>

<form class="form">
	<input type="text" name="text">
</form>
<div class="res"></div>

<input type="button" id="but1" value="Сохранить изменения">

$(function(){
	$('form.form').submit(function(){
		return false;
	});
	$('#but1').click(function(){
		var btn = $(this), form = $('form.form'), res = $('div.res');
			btn.prop('disabled', true);
		(function func(i){
			if (i < form.length) {
				$.ajax({
					type: 'post',
					url: 'redactor.php',
					data: form.eq(i).serialize(),
					success: function(data){
						res.eq(i).html(data), func(++i);
					},
					error: function(){
						res.eq(i).html('Ошибка запроса к серверу'), func(++i);
					}
				});
			} else {
				btn.prop('disabled', false);
			}
		})(0); 
	});
});
Ответить с цитированием
  #6 (permalink)  
Старый 19.08.2014, 00:01
Аспирант
Отправить личное сообщение для Alexander333 Посмотреть профиль Найти все сообщения от Alexander333
 
Регистрация: 30.06.2012
Сообщений: 40

Rise,
Спасибо за помощь, я уже правда написал свой скрипт, но Ваше решение получше будет. Еще раз спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
.js отправка формы marciy Общие вопросы Javascript 1 18.05.2014 21:55
Отправка формы Dimanchik87 jQuery 1 21.04.2014 07:39
Ajax отправка формы без перезагрузки страници Slava-web AJAX и COMET 10 27.02.2014 18:14
Отправка одного поля без перезагрузки страницы Batyabest Events/DOM/Window 6 26.12.2013 12:30
Простейшая отправка данных на сервер и вывод MBmusic AJAX и COMET 12 23.09.2013 12:35